<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>数组</title>
	</head>
	<body>
		<!--数组，是一个存放着各种数据对象的一个集合，可以把它看作是一个容器。
			数组的存在可以解决数据存储不连续，查找起来比较麻烦的问题。他会在内存中开辟一块连续的内存空间用来存放数据，这样查找起来效率比较高，同时节省内存空间
		-->
		<script type="text/javascript">
			//数组是一个对象，需要创建
			//创建数组 有多种方式
			//1.new 关键字创建
			//array:数组
			var myArr = new Array();
			
			//2,省去new
			myArr = Array()
			
			//3,字面量的方式创建
			myArr = [1,2,3];
			
			//数组创建的时候可以给数组初始化一些值，代表的意思就是创建数组同时，给数组中存放一些数据
			myArr = new Array(3,4,5)
			
			//数组中可以存放各种类型的数据
			
			myArr = [123,'123',[100,200]];
			
			myArr = ['宝马.jpg','奔驰.jpg',100,'xxx',999,'oooo']
			
			//length属性用来获取数组中存放的元素(item)个数
			myArr.length
			
			//取出数组中的某一个元素，是通过索引号取出的，索引号是从0开始，0,1,2,3...,即第一个元素的索引号是0，以此类推
			
			var str =  myArr[1]
			
			alert(str)
			
			//修改数组中某一个元素的值
			myArr[1] = '沃尔沃.jpg';
			
			str = myArr[1]
			
			alert(str)
			
			//可以往数组中添加新的元素
			//push代表往数组中末尾的位置追加一个新的元素，返回值为数组的新的长度
			var arrLength = myArr.push(888);
			
		
			//pop()是删除数组中最后一个元素，返回删除的元素
			 arrLength =  myArr.pop()
			 
			//unshift()往数组开始的位置添加一个元素 ,返回数组的新长度
			arrLength =  myArr.unshift('你好');
			 
			 //shift 是删除数组中的第一个元素,返回的是删除的元素
			arrLength =  myArr.shift();
		    console.log('>>>>>>>' + arrLength)
		    
		    //splice() 删除或是替换数组中的某一部分元素，返回值是删除或是替换的内容
		    //splice()删除,两个参数：参数1：从哪里开始，参数2：个数
		    //myArr.splice(0,3);
		    
		    //splice()替换，三个参数,参数1：开始位置，参数2：个数，参数3：替换的内容
		    var lost =  myArr.splice(0,3,'删除');
		    
		    console.log('--------' + lost)
		    
		    //concat()把一个数组和另一个数组拼接为新的数组
		    var newArr = new Array('新','de','数组')
		    
		    var concatArr =  myArr.concat(newArr)
		    
		    //join()往数组中插入一个分割符
		  
		    var sepArr =  myArr.join('|')
		    console.log(sepArr)
			//console.dir(myArr);
		</script>
	</body>
</html>
